Distributed control system for parallel-connected dc boost converters

ABSTRACT

The disclosed invention is a distributed control system for operating a DC bus fed by disparate DC power sources that service a known or unknown load. The voltage sources vary in v-i characteristics and have time-varying, maximum supply capacities. Each source is connected to the bus via a boost converter, which may have different dynamic characteristics and power transfer capacities, but are controlled through PWM. The invention tracks the time-varying power sources and apportions their power contribution while maintaining the DC bus voltage within the specifications. A central digital controller solves the steady-state system for the optimal duty cycle settings that achieve a desired power supply apportionment scheme for a known or predictable DC load. A distributed networked control system is derived from the central system that utilizes communications among controllers to compute a shared estimate of the unknown time-varying load through shared bus current measurements and bus voltage measurements.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No. 61/794,484 filed Mar. 15, 2013, titled DISTRIBUTED CONTROL SYSTEM FOR PARALLEL-CONNECTED DC BOOST CONVERTERS.

BACKGROUND OF THE INVENTION

It is difficult to apportion the power contribution of each of multiple DC power sources while maintaining a desired DC bus voltage. The present invention generally relates to a centralized controller for DC boost converters.

BRIEF SUMMARY OF THE INVENTION

The disclosed invention is a distributed control system for operating a DC bus fed by disparate DC power sources that service a known load or unknown load. The individual voltage sources vary in v-i characteristics and have maximum supply capacities that are time-varying. Each source is connected to the bus via a boost converter. The boost converters may have different dynamic characteristics and power transfer capacities, but are all controlled through PWM.

The primary problem addressed herein is to track the time-varying power sources and apportion the power contribution of each while maintaining the DC bus voltage within the specifications. A central digital controller is developed that solves the steady-state system for the optimal duty cycle settings that achieve a desired power supply apportionment scheme for a known or a predictable DC load. A distributed networked control system is then derived from the central system that utilizes communications among controllers to compute a shared estimate of the unknown time-varying load through shared bus current measurements and common (replicated) bus voltage measurements.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates one example of a boost-mediated DC bus.

FIG. 2 illustrates one example of a boost converter circuit.

FIG. 3 illustrates one example of a networked controller.

FIG. 4 illustrates one example of a general state space model.

FIG. 5 illustrates one example of a Γ_(G) controller architecture.

FIG. 6 illustrates one example of a Γ_(G) flowchart.

FIG. 7 illustrates one example of an adaptive cascade PI controller.

DETAILED DESCRIPTION

Various embodiments will be described in detail with references to drawings, wherein like reference numerals represent like parts and assemblies throughout the several views. Reference to various embodiments does not limit the scope of the claims attached hereto. Additionally, any examples set forth in this specification are not intended to be limiting and merely set forth some of the many possible embodiments for the appended claims. It is understood that various omissions and substitutions of equivalents are contemplated as circumstances may suggest or render expedient, but these are intended to cover application or embodiments without departing from the spirit or scope of the claims attached hereto. Also, it is to be understood that the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting.

1. DC Bus Configuration

A DC bus with a single variable load fed by multiple sources is shown in FIG. 1. Each source voltage e_(i) is less than the bus operating voltage v_(b) so a boost converter—FIG. 2—is used to amplify it. The converters are joined in output-parallel connections to the common bus. Each converter contains a networked controller, shown in FIG. 3, that enables communications among all converters and the load center as well. The controller measures the boost converter input voltage e_(i), the input current j_(1i), the output current j_(2i), and the bus voltage v_(b), and outputs the local PWM duty cycle d_(i). Data is exchanged with other converters via the network connection. Depending on the particular control scheme, controllers may exchange any variety of sensor data, model data, objective function, power schedule, or external commands from operators.

1.1 Control Philosophy and PowerFlow

The general objective of any of the many possible control schemes is to maintain the bus voltage within some specified range in response to load and input voltage variations. The multiple distributed sources have time-varying power capacities, so the control scheme must also continually adjust the converter input currents to respect the changing power limits while maintaining the bus voltage. The power flow equations are:

$\begin{matrix} {P_{Source} = {P_{Load} + P_{Loss}}} & (1) \\ {P_{Source} = {{\sum\limits_{i}P_{i}} = {\sum\limits_{i}{e_{i}j_{1\; i}}}}} & (2) \\ {P_{Load} = {{{}_{vb}^{}{}_{}^{}} = {v_{b}{\sum\limits_{i}j_{2\; i}}}}} & (3) \\ {P_{Loss} = {\sum\limits_{i}{r_{i}j_{1\; i}^{2}}}} & (4) \\ {{\sum\limits_{i}\left( {{e_{i}j_{1\; i}} + {r_{i}j_{1\; i}^{2}} + {v_{b}j_{2\; i}}} \right)} = 0} & (5) \end{matrix}$

Let P_(source) ^(max) be the instantaneous maximum power available from all sources, and P_(si) ^(max) be the instantaneous maximum power available from the i^(th) source so:

P _(source) ^(max) ≧P _(source) ≧P _(Load) +P _(Loss)  (6)

e _(i) j _(1i) ≦P _(si) ^(max)  (7)

According to (6) the total loss plus load must never exceed the maximum available source power. If (6) is not violated, then the control problem is to properly apportion the power outputs of the boost converters according to the local constraints defined by (7) and the admissible bus voltage range. If (6) is violated, load trimming control must be implemented. We will consider only the case where (6) is an equality for now and assume that the schedules P_(si) ^(max) are known with certainty. Under these circumstances, the control problem involves following the source power schedule while regulating v_(b) in response to changing input voltages and load schedule. If perfect knowledge of both source and load schedules obtains, then predicted control regimes can be calculated and control modes switched in and out accordingly. The remainder of this paper will discuss a control scheme that relies of source/load schedules and DC models of the aggregate bus dynamics.

1.2 Steady State Analysis

The average state-space system for the boost converters operating in continuous conduction mode are given by

$\begin{matrix} {{L_{i}{\overset{.}{x}}_{i}} = \left. {u_{i} - {r_{i}x_{i}} - {\lambda_{i}x_{N + 1}}}\mspace{40mu} \middle| \mspace{40mu} \right|} & (8) \\ {{\sum\limits_{i}{C_{i}{\overset{.}{x}}_{N + 1}}} = {{\sum\limits_{i}{\lambda_{i}x_{i}}} - {G_{o}x_{N + 1}}}} & (9) \end{matrix}$

where x_(i)=j_(1i),x_(N+1)=v_(b), and u_(i)=e_(i). Equations of the form given in (8) describe the local converter's KVL, and (9) gives the bus KCL. For the DC steady state, the LHS of (8) and (9) at zero. At steady-state the equations are:

$\begin{matrix} {{e_{i} - {r_{i}j_{1\; i}} - {\lambda_{i}v_{b}}} = \left. 0\mspace{40mu} \middle| \mspace{40mu} \right|} & (10) \\ {{{\sum\limits_{i}{\lambda_{i}j_{1\; i}}} - {G_{o}v_{b}}} = 0} & (11) \end{matrix}$

solving (11) and substituting into 10:

$\begin{matrix} {{e_{i} - {r_{i}j_{1\; i}} - {\frac{\lambda_{i}}{G_{o}}{\sum\limits_{i}{\lambda_{i}j_{1\; i}}}}} = 0} & (12) \end{matrix}$

Let R_(o) be

$\frac{1}{G_{o}},$

so collecting terms gives:

$\begin{matrix} {{{e_{i} - {r_{i}j_{1\; i}} - {R_{o}\lambda_{i}^{2}j_{1\; i}} - {R_{o}\lambda_{i}{\sum\limits_{k \neq i}{\lambda_{k}j_{1\; k}}}}} = 0}{or}} & (13) \\ {{e_{i} - {j_{1\; i}\left( {r_{i} + {R_{o}\lambda_{i}^{2}}} \right)} - {R_{o}\lambda_{i}{\sum\limits_{k \neq i}{\lambda_{k}j_{1\; k}}}}} = 0} & (14) \end{matrix}$

Let v_(i)=R_(o)λ_(i)j_(1i)=R_(o)j_(2i), and let

${v_{i}^{\prime} = {R_{o}{\sum\limits_{k \neq i}{\lambda_{k}j_{1\; k}}}}},$

then substitute into (14):

$\begin{matrix} {{e_{i} - {j_{1\; i}r_{i}} - {R_{o}\lambda_{i}^{2}j_{1\; i}} - {\lambda_{i}v_{i}^{\prime}}} = 0} & (15) \\ {j_{1\; i} = \frac{e_{i} - {\lambda_{i}v_{i}^{\prime}}}{r_{i} + {\lambda_{i}^{2}R_{o}}}} & (16) \end{matrix}$

When v_(i)′=0, the other sources provide no power and e_(i)>0 ensures j_(1i)>0. When other sources are active on the bus, the input current provided by the source at voltage e_(i) is reduced by contributions from other sources. Since the boost converters are unidirectional, j_(1i)≧0. For a positive power contribution from the source, j_(1i)>0, so:

e _(i)>λ_(i) v _(i)′  (17)

e _(i)>λ_(i)(v _(b) −v _(i))  (18)

Alternatively, the upper limit on λ_(i) is decreased:

$\begin{matrix} {\lambda_{i} < \frac{e_{i}}{\left( {v_{b} - v_{i}} \right)}} & (19) \end{matrix}$

So converters operating collectively will provide less current and at higher duty cycles for given e_(i) and v_(b) than if operating alone. If all boost stages are exactly identical and driven by the same or identical voltage sources, the “homogenous element” case, (11) becomes:

$\begin{matrix} {{{{{N\; \lambda \; j_{1}} - {G_{o}v_{b}}} = 0};}{{v_{b} = {N\; \lambda \; j_{1}R_{o}}};}{j_{1} = \frac{G_{o}v_{b}}{N\; \lambda}}} & (20) \end{matrix}$

and (10) is:

e−rj _(i) −Nλ ² R _(o) j ₁=0  (21)

Solving for j₁ and λ:

$\begin{matrix} {j_{1} = \frac{e}{r + {N\; \lambda^{2}R_{o}}}} & (22) \end{matrix}$

Generally r<<R_(o), so the input impedance seen by each voltage source increases by a factor of N. Each converter provides 1/N of the current that would be delivered by a single converter system.

$\begin{matrix} {\lambda = {\sqrt{\frac{G_{o}}{N}\left( {\frac{e}{j_{1}} - r} \right)} = \sqrt{\frac{j_{2}}{v_{b}}\left( {\frac{e}{j_{1}} - r} \right)}}} & (23) \end{matrix}$

Since j_(b)=NR_(o)j₂, λ is the same as that of a single converter. Alternatively, (21) can be substituted on j to express it in terms of v_(b):

$\begin{matrix} {{e - {r\frac{G_{o}v_{b}}{N\; \lambda}} - {\lambda \; v_{b}}} = 0} & (24) \\ {{{N\; \lambda \; e} - {{rG}_{o}v_{b}} - {N\; \lambda^{2}v_{b}}} = 0} & (25) \end{matrix}$

Quadratic formula solution to (25) yields:

$\begin{matrix} {\lambda = {\frac{1}{2{Nv}_{b}}\left( {{Ne} + \sqrt{({Ne})^{2} - {4{rNG}_{o}v_{b}^{2}}}} \right)}} & (26) \\ {\lambda = {\frac{1}{2v_{b}}\left( {e + {\frac{1}{\sqrt{N}}\sqrt{{Ne}^{2} - {4{rG}_{o}v_{b}^{2}}}}} \right)}} & (27) \end{matrix}$

When N=1, the solution is as expected:

$\begin{matrix} {\lambda = {\frac{1}{2v_{b}}\left( {e + \sqrt{e^{2} - {4{rG}_{o}v_{b}^{2}}}} \right)}} & (28) \end{matrix}$

and if r=0, or r<<R_(o), the familiar form appears:

$\begin{matrix} {\lambda = \frac{e}{v_{b}}} & (29) \end{matrix}$

Recall that the maximum power available from a voltage generator with generation resistance r is:

$\begin{matrix} {P_{\max} = {{\frac{e^{2}}{4r}\mspace{14mu} {or}\mspace{14mu} e^{2}} = {4{rP}_{\max}}}} & (30) \end{matrix}$

Then (28) can be expressed as

$\begin{matrix} {\lambda = {\frac{1}{2v_{b}}\left( {e + {2\sqrt{r}\sqrt{P_{\max} - P_{o}}}} \right)}} & (31) \end{matrix}$

and (27) as

$\begin{matrix} {\lambda = {\frac{1}{2v_{b}}\left( {e + {\frac{2\sqrt{r}}{\sqrt{N}}\sqrt{{NP}_{\max} - P_{o}}}} \right)}} & (32) \end{matrix}$

Where P_(o) is the total bus power. The term NP_(max) in (32) is the total power available from N stages. Alternatively, let 1/N=α and substitute into (24):

$\begin{matrix} {{e - {r\; \frac{\alpha \; G_{o}v_{b}}{\lambda}} - {\lambda \; v_{b}}} = 0} & (33) \\ {{{\lambda \; e} - {\alpha \; {rG}_{o}v_{b}} - {\lambda^{2}v_{b}}} = 0} & (34) \\ {\lambda = {\frac{1}{2v_{b}}\left( {e + \sqrt{e^{2} - {4\alpha \; {rG}_{o}v_{b}^{2}}}} \right)}} & (35) \\ {\lambda = {\frac{1}{2v_{b}}\left( {e + {2\sqrt{r}\sqrt{P_{\max} - {\alpha \; P_{o}}}}} \right)}} & (36) \end{matrix}$

So (35) and (36) present the solution for λ in terms of the fraction α of the total power provided to the load by a single stage. Note also that the input current for each stage can be determined by

$\begin{matrix} {j_{1}\frac{1}{2r}\left( {e + \sqrt{e^{2} - {4\alpha \; {rG}_{o}v_{b}^{2}}}} \right)} & (37) \end{matrix}$

(37) indicates that the effective load seen by a single converter is αG_(o), i.e., the total load is apportioned among the collective equally. Note that in the limit α→0 or N→∞,

${\lambda->\frac{e}{v_{b}}},$

j₁→0. Moreover, the total losses through all converters is Nrj₁ ², so since the input current j₁ in a collective configuration is about j₁/N of the single converter configuration, the losses scale as 1/N. This encourages a modular building-block approach based on a replicated low-power unit that can be composed in parallel to mediate higher power sources. The α factor can be generalized to the heterogenous collective.

1.3 Output Current Apportionment

Describe the i^(th) output current as:

$\begin{matrix} {{{\lambda_{i}j_{i}} = {\alpha_{i}G_{o}v_{b}}};{{{where}\mspace{14mu} {\sum\limits_{i}\; \alpha_{i}}} = 1}} & (38) \end{matrix}$

α is a convex set that apportions the current supplied by each converter.

$\begin{matrix} {j_{i} = \frac{\alpha_{i}G_{o}v_{b}}{\lambda_{i}}} & (39) \end{matrix}$

Substitute (39) into (10):

$\begin{matrix} {{e_{i} - {r_{i}\; \frac{\alpha_{i}G_{o}v_{b}}{\lambda_{i}}} - {\lambda_{i}v_{b}}} = 0} & (40) \\ {{{\lambda_{i}e_{i}} - {r_{i}\alpha_{i}G_{o}v_{b}} - {\lambda_{i}^{2}v_{b}}} = 0} & (41) \end{matrix}$

Solve for λ_(i) by the quadratic equation:

$\begin{matrix} {\lambda_{i} = {\frac{1}{2v_{b}}\left( {e_{i} + \sqrt{e_{i}^{2} - {4r_{i}\alpha_{i}G_{o}v_{b}^{2}}}} \right)}} & (42) \end{matrix}$

which is an indexed version of (35). The term α_(i)G_(o) is the effective (reduced) load admittance allocated to the i^(th) converter. Let

$\begin{matrix} {{\alpha_{i}G_{o}} = {{g_{i}\mspace{14mu} {so}\mspace{14mu} {\sum\limits_{i}\; g_{i}}} = G_{o}}} & (43) \\ {\lambda_{i} = {\frac{1}{2v_{b}}\left( {e_{i} + \sqrt{e_{i}^{2} - {4r_{i}g_{i}v_{b}^{2}}}} \right)}} & (44) \end{matrix}$

So α is a partition of the total bus load assigned to each converter. The set α can also be viewed as apportioning the power output P_(io) of each converter:

$\begin{matrix} {{\lambda_{i} = {\frac{1}{2v_{b}}\left( {e_{i} + \sqrt{e_{i}^{2} - {4r_{i}P_{io}}}} \right)}}{where}} & (45) \\ {P_{io} = {\alpha_{i}j_{b}v_{b}}} & (46) \end{matrix}$

Provided the set α represents an admissible apportionment that respects the maximum power capacity of each individual converter for a given (known) load G_(o), the duty cycle can updated by each converter controller according to (42) in a decentralized scheme.

Now g_(i)v_(b) is the i^(th) converter output current j_(2i). Set v_(b) to the desired reference voltage, v_(b)=v_(b)* and G_(o)v_(b)*=j_(b)*, the bus reference current, and substitute into (42):

$\begin{matrix} {\lambda_{i}^{*} = {\frac{1}{2\; v_{b}^{*}}\left( {e_{i} + \sqrt{e_{i}^{2} - {4\; r_{i}\alpha_{i}v_{b}^{*}j_{b}^{*}}}} \right)}} & (47) \end{matrix}$

Equation (14) is a decentralized, feedforward algorithm in terms of the i^(th) sensed input voltage e_(i), the bus reference voltage v_(b)*, the bus reference current j_(b)*, and the α_(i) the i^(th) apportionment factor. It relies on knowledge of the effective input resistance r_(i), (generator resistance+line resistance+inductor resistance+switch resistance), and G_(o), the total bus load. In most cases of interest, the actual value of G_(o) is unknown and time-varying. Consequently, j_(b)* is also unknown. In the case of ideal homogenous collective,

$\begin{matrix} {{j_{b} = {{Nj}_{2} = {Nj}_{2\; i}}}{and}} & (48) \\ {G_{o} = {\frac{j_{b}}{v_{b}} = \frac{{Nj}_{2\; i}}{v_{b}}}} & (49) \end{matrix}$

Since each converter takes an independent measurement of v_(b), v_(bi), knowledge of N−1, the number of other converters on the bus, and the local output current measurement, j_(2i), provide a means to estimate G_(o). In practice, the measurements v_(bi), and j_(2i) are noisy so an estimator is needed to predict G_(o). Moreover, the converters certainly not likely to be exact replicas, so modeling errors will be uncompensated without feedback. The same holds true for an inhomegenous collective by definition. In this case the bus current j_(b) is unknown at each converter. But the collective has distributed knowledge of the value and through a timely sharing protocol, the value of j_(b) may be determined through the sum

$\begin{matrix} {j_{b} = {\sum\limits_{i}\; j_{2\; i}}} & (50) \end{matrix}$

and knowledge that all converters sample and report the values synchronously. Against sampling clocks are generally out of phase and communications channels have latencies, usually uncertain, so to estimate j_(bi) an estimator that accounts for the sampling jitter and communications delay (in addition to sensor noise) must be found. Moreover, all converters must arrive at the same estimate of j_(b) close enough in time to coherently adjust their outputs while maintaining v_(b) within specification and ensuring j_(i) respects its specification based on equation (7). Since we also assume that load controller may have a known load schedule, it may transmit a new value for G_(o) over the network to the converter controllers, but again the arrival at each converter is subject to uncertain communication delays and intraarrival jitter. Finally, for heterogenous collectives, the controllers must have a protocol for arriving at the set α.

Since the available power from a source may change according to a schedule, the collective must complete a new apportionment agreement based on some policy at each change. For now we assume the schedule consists of values for α with event times, i.e., a vector time sequence

A={α(t ₁),α(t ₂), . . . α(t _(M))}  (51)

Each controller has a local copy of A and all controllers are synchronized to a common clock. At each time step in A the controllers pick their respective values for α_(i)(t_(k)) and adjust the duty cycle according to (47).

2. Development of Control Concepts

In this section we develop control concepts based on the ideal steady-state derivations of the previous section. First, a centralized control system for ideal collectives is developed. The idealizations are based on two assumptions: 1) certain and correct knowledge of model parameters; and 2) perfect synchronization of events through a global clock.

Once the performance envelope has been established for the ideal central controller, a distributed control system model is developed. The developments are guided by the use of model-based adaptive control concepts in which control agents perform computations and communications in real time. The computations involve combining sensor readings with models and optimization routines. Model structure, parameters, and optimization cost functions are shared through communications protocols at appropriate times.

Local sensor data is also shared periodically among control agents. In general, control designs are evaluated according to the frequency and amount of information sharing required, and a performance metric based on the specifications for bus voltage and converter currents. For our purposes, let the state vector be

x=[j ₁₁ ,j ₁₂ , . . . j _(1N) ,v _(b)]  (52)

and the desired state be x*, which are the reference values for the input currents and bus voltage. The control strategy is to track the changing reference currents and bus voltage. Usually, the bus voltage reference is constant and has a tolerance of ±Δv_(b), but variations in bus voltage are possible with model-based controls.

For now assume the bus voltage is regulated and the input currents are tracked. The goal is to respond in real time to disturbances in the load, G_(o), and the input voltage vector e, and to changes in power apportionment policy summarized in the convex set α.

Apportionment policy must always respect the changing limits to source power capacity, but may impose other factors within those bounds based on reliability, ramp-up time, economic and environmental factors, and other considerations. This requires reasoning about the specifics of the source generators, and involves defining a preferred mix of generation through cost functions and a subsequent optimization that determines α over a given epoch.

2.1 General State-Space Model

A general state space model for the system and controller is given in FIG. 4. There are four system matrices representing the energy storage components, H_(G), (inductors and capacitors), dissipation, R_(G), (resistors), state feedback, F_(G), (duty cycles as λ), and input gains, P_(G), (voltage gains). The control system, represented by Γ_(G), changes the state feedback matrix components of F_(G), which are λ, and the voltage gains of P_(G), which is unity for boost converters but contains duty cycles for buck converters.

The state equations for a bus with N converters are

H _(G) {dot over (x)}=(F _(G) −R _(G))x+P _(G) U  (53)

A _(G) =H _(G) ⁻¹(F _(G) −R _(G))  (54)

B _(G) =H _(G) ⁻¹ P _(G)  (55)

{dot over (x)}=A _(G) x+B _(G) u,y=C _(G) x  (56)

where H_(G) and R_(G) are diagonal matrices of size N+1, F_(G) is a skew symmetric matrix of size N+1, P_(G) is a N+1 diagonal, and the input voltage vector u (e_(i)) is an N×1 vector. The last row and column of the system is occupied by the DC bus equation.

The elements of the system matrices are

$H_{G} = \begin{bmatrix} L_{1} & \; & \; & \; \\ \; & L_{2} & \; & \; \\ \; & \; & L_{N} & \; \\ \; & \; & \; & C_{T} \end{bmatrix}$

where L_(i) is the i^(th) inductor, and C_(T)=ΣC_(i)+C_(b)+ΣC_(g), i.e., sum of converter output capacitances, native bus capacitance, C_(b), and the sum of load capacitances, ΣC_(g). The dissipation matrix represents the losses from the converters and the total load admittance on the bus, where

$R_{G} = \begin{bmatrix} r_{1} & \; & \; & \; \\ \; & r_{2} & \; & \; \\ \; & \; & r_{N} & \; \\ \; & \; & \; & G_{o} \end{bmatrix}$

G_(o)=ΣG_(i)+G_(b), the total of all individual conductances that are directly connected to the bus, including any native bus conductance. The state feedback matrix is a skew-symmetric

$F_{G} = \begin{bmatrix} \; & \; & \; & {- \lambda_{1}} \\ \; & \; & \; & {- \lambda_{2}} \\ \; & \; & \; & {- \lambda_{N}} \\ \lambda_{1} & \lambda_{2} & \lambda_{N} & 0 \end{bmatrix}$

matrix with element values of λ_(i). The input gain matrix P_(G), is an identity matrix if all source converters are boost converters. Otherwise it has 1s for boost converter entries and duty cycle settings for buck converters. The control vector u is

$P_{G} = \begin{bmatrix} 1 & \; & \; & \; \\ \; & 1 & \; & \; \\ \; & \; & 1_{N} & \; \\ \; & \; & \; & 1 \end{bmatrix}$

composed of the source voltages and an auxiliary current source or load, j₃, applied directly to the bus. If j₃ is negative, it represents a current sink, otherwise it's a

$u = \begin{bmatrix} e_{1} \\ e_{2} \\ e_{N} \\ j_{3} \end{bmatrix}$

current source, enabling multi-bus interconnections. Recall the state vector is given by (52) and consists of the source currents and the bus voltage. The output vector is the vector

$x = \begin{bmatrix} j_{11} \\ j_{12} \\ j_{1\; N} \\ v_{b} \end{bmatrix}$

of individual converter output currents, the bus voltage, and the total bus current. The controller

$y = \begin{bmatrix} j_{21} \\ j_{22} \\ j_{2\; N} \\ v_{b} \\ j_{b} \end{bmatrix}$ $C_{G} = \begin{bmatrix} \lambda_{1} & \; & \; & \; & \; \\ \; & \lambda_{2} & \; & \; & \; \\ \; & \; & \lambda_{N} & \; & \; \\ \; & \; & \; & 1 & \; \\ 1 & 1 & 1 & \; & 0 \end{bmatrix}$

Γ_(G) measures x, y, and u, and outputs F_(G) and P_(G): it essentially adapts A_(G) and B_(G) and as such is an adaptive state feedback and adaptive gain controller. However, because they represent average duty cycles for PWM-based control, physical limits on the values of F_(G) constrain entries to 0≦f_(ij)≦1. The values of f_(ij) constrain the eigenvalues of the system.

The controller selects the A_(G) matrix (and B_(G) if buck converters are used to mediate higher voltage sources) in equation (56), to move the state x(t_(k)) to the desired reference state x*(t_(k+1)) as determined by the model calculations, in response to the disturbances in input voltage u and load. Load disturbances manifest in the G_(o) parameter of the R_(G) matrix, so the system is linear time-varying (LTV), but is LTI between load disturbances and control interventions.

The steady state equations corresponding to equation (53) are

(F _(G) −R _(G))x+P _(G) u=0  (57)

u=P _(G) ⁻¹(R _(G) −F _(G))x  (58)

x=(R _(G) −F _(G))¹ P _(G) u  (59)

so for a known load (R_(G) is fixed), known duty cycles (F_(G) is fixed), and for x=x*, the input vector ([ej₃]) can be computed from (58). Alternatively, the state x can be computed from known load, duty cycles and input voltages from equation (59).

2.2 General Controller Architecture

FIG. 5 shows a general architecture for the central controller Γ_(G). A Load Power Sharing Policy module computes a new value for the vector α asynchronously according to a load apportionment policy. Changes to α can occur asynchronously and continuously. The bus load is estimated from bus voltage and bus current measurements by the Bus Load Estimator (Ĝ_(o)), or from a predicted or scheduled value provided directly by the load controller (G_(o)*).

The Model-Based Reference Generator computes steady-state values for the input and output current references j_(1i)*,j_(2i)*, and/or the duty cycle reference λ_(i)*, for use in direct or closed loop control algorithms. The module takes as inputs the bus voltage reference v_(b)*, input voltage measurements, loss resistances r_(i), and the load conductance, Ĝ_(o). The Model-Based Reference Generator can implement any decentralized or distributed optimization calculation, or equations (27), (44) or (47).

Reference value for the state variables are provided to feedforward/feedback control loops that measure the converters' states and output the duty cycle commands. Values for the duty cycles can also be fed directly to the PWM actuators in an open-loop feedforward control scheme. Gains for discrete control algorithms are calculated by the Control Algorithm Gain Calculation module. K* is a vector of gain values for generalized PID control loops. Values of converter inductance, input resistance, capacitance (FIG. 2), and load Ĝ_(o) can be used for tuning the PID loops.

2.3 Steady-State Feedforward Controller

FIG. 6 shows a flowchart for a model-based steady-state implementation of the controller Γ_(G). This algorithm computes the optimal value for the duty cycles that respect the apportionment values α, but estimates the changing load conductance G_(o) and responds to changing input voltages. The prime formula in this version is given by (47):

$\begin{matrix} {{\lambda_{i}^{*}(k)} = {\frac{1}{2\; v_{b}^{*}}\left( {{e_{i}(k)} + \sqrt{{e_{i}^{2}(k)} - {4\; r_{i}v_{b}^{*}{j_{2\; i}^{*}(k)}}}} \right)}} & (58) \end{matrix}$

The estimate of the local output current reference j_(2i)* in (58) can be determined from the local measurement of j_(2i)(k) by

$\begin{matrix} {{j_{2\; i}^{*}(k)} = {{v_{b}^{*}\alpha_{i}{{\hat{G}}_{o}(k)}} = {{v_{b}^{*}{{\hat{g}}_{i}(k)}} = {v_{b}^{*}\frac{j_{2\; i}(k)}{v_{b}(k)}}}}} & (59) \end{matrix}$

Control agents can also share current measurements on each control cycle through a network protocol to obtain j_(b)(k)=Σj_(2i)(k) and obtain ĵ_(2i)(k)=α_(i)j_(b)(k). This approach requires high-tempo communications but can compensate for different converter dynamics by ensuring a common basis for current apportionment at each control cycle.

Each control agent estimates its apportioned load conductance (or current) based on the agreed-upon set α, resulting in power contributions from each converter/source in proportion to α at steady state. The apportionment set α must be updated according to power sharing protocols conducted by all generation control agents when source power capacity changes require a new generation power flow operating point, but operation is decentralize during intervals of constant α.

The Source Power Sharing Policy determines α from an interactive agreement protocol based on the optimal power capacity envelope P*, which is a time-varying quantity that captures natural variations in generation power in sources such as wind and solar, preferences for reducing fuel consumption and/or CO₂ emissions from fossil-fueled sources, etc.

2.4 Adaptive Cascade PI Controller

Note that if the DC boost converters have different dynamics, individual compensators are needed to adjust the transient performance of the system in response to changes in load and input voltage. In some cases, estimation errors and the differing dynamics may prevent settling to the proper steady state apportionments. The “α” strategy apportions the common lead among converters. However, power sources are limited by their respective power envelopes and may have variable losses, requiring apportionment of the power input of each boost converter.

FIG. 7 shows an adaptive cascade PI control architecture that allows apportionment of the input power according to a source power schedule. The theory of operation behind this control scheme is to apportion the input power according to an optimal input power schedule from each source (generator).

An optimization and scheduling protocol is conducted among source and load control agents to obtain a maximum power schedule, P={P₁ ^(max)(t), P₂ ^(max)(t), . . . P_(N) ^(max)(t)} for each source based on efficiency, reliability, fuel usage, CO₂ emissions, availability of variable sources (wind and solar), and other considerations. From the P_(i) ^(max) value for the current epoch, the maximum input current j_(1i) ^(max) is found by dividing by the input voltage measurement for the current control cycle.

The j_(1i) ^(max) values are shared over the network whenever one or more changes, and a proportion

$\begin{matrix} {{\beta_{i} = \frac{j_{1\; i}^{\max}}{\Sigma \; j_{1\; i}^{\max}}},{{\Sigma \; \beta_{i}} = {1\mspace{14mu} \left( {{convex}\mspace{14mu} {set}} \right)}}} & (60) \end{matrix}$

is computed. This provides a proportional gain in analogy to α_(i) for bus load apportionment, but applied to the input current.

The β_(i) parameter computed by the Input Power Apportionment PI Gain Stage—FIG. 7) scales a conventional cascade PI loop stage (Cascade PI Stage—FIG. 7) that uses the common bus voltage v_(b) measurement and the bus voltage reference v_(b)* to provide a common error signal to each controller (Bus Voltage Error Loop—FIG. 7). The error signal is fed to a PI stage to generate an individual input current reference j_(1i)*.

Controllers share gains K_(P1) and K_(I1), so the i^(th) controller in the Laplace domain obeys

$\begin{matrix} {{{v_{b}^{*}(s)} - {v_{b}(s)}} = {E_{v}(s)}} & (61) \\ {{{E_{v}(s)}{\beta_{i}\left( {K_{P_{1}} + \frac{K_{I_{1}}}{s}} \right)}} = {j_{1\; i}^{*}(s)}} & (62) \end{matrix}$

Hence the input current reference signals remain in proportion throughout time in response to the common bus voltage error. The gains K_(P) ₁ and K_(I) ₁ can be chosen to adjust the loops for stability, settling time, and overshoot. The sampled current measurement j_(1i) is subtracted from j_(1i)* to obtain a current error signal for a subsequent PI stage that outputs a value for 1−λ_(i)(d_(i)), the duty cycle.

The current reference j_(1i)* is also fed into a feed-forward Model Stage (FIG. 7) that computes the ideal steady-state value for λ_(i) from the source voltage measurement e_(i), input resistance and bus voltage reference v_(b)*. Mode switches SW1 and SW2 allow mixed modes among feedforward and dual-loop control. The second PI loop (Source Current Error Loop) has gains K_(P) ₂ and K_(I) ₂ that are scaled by parameters that hold the proportions of duty cycles to

$\begin{matrix} {\lambda_{i} = \frac{\alpha_{i}}{\beta_{i}}} & (63) \end{matrix}$

in one form of the adaptive gain strategy for converging duty cycles in unison.

There are many variations on the theme for the controller architecture of FIG. 5. Note that the Adaptive Cascade PI Controller is an instance of the more general Γ_(G) architecture. The Γ_(G) architecture accepts many different schemes for power schedule optimization, power apportionment, feedforward and feedback controllers, model-based controllers, and adaptive controllers. 

I claim:
 1. A method for selecting the power operating point Pimax based on optimization (minimization of a power cost function S(P)) over the power sources based on a variety of possible criteria including Co2 emissions, probability distribution function, maximum power point, and others, as shown in FIG. 7, Input Power Apportionment PI Gain Stage.
 2. Calculation of individual currents from optimum power values by adjusting for sensed values of the input voltage ei as in FIG.
 7. 3. Computing Beta values as a convex set over the desired operating currents as shown in equation (60). 4-12. (canceled) 